# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gst-plugins-bad
pkgver=1.22.8
pkgrel=0
pkgdesc="GStreamer streaming media framework bad plug-ins"
url="https://gstreamer.freedesktop.org/"
arch="all"
license="GPL-2.0-or-later LGPL-2.0-or-later"
options="!check" # 4 out of 51 tests fail as of 1.20.1
replaces="gst-plugins-bad1"
# chromaprint causes a circular dependency:
# pipewire -> libcamera -> here -> chromaprint -> ffmpeg -> sdl2 -> pipewire
makedepends="
	alsa-lib-dev
	aom-dev
	bluez-dev
	bzip2-dev
	curl-dev
	directfb-dev
	faac-dev
	faad2-dev
	fdk-aac-dev
	flite-dev
	glib-dev
	glu-dev
	gobject-introspection-dev
	gsm-dev
	gst-plugins-base-dev
	gstreamer-dev
	gtk+3.0-dev
	lcms2-dev
	libass-dev
	libdc1394-dev
	libde265-dev
	libdvdnav-dev
	libdvdread-dev
	libexif-dev
	libfreeaptx-dev
	libgudev-dev
	libmms-dev
	libmodplug-dev
	libnice-dev
	librsvg-dev
	libsndfile-dev
	libsrtp-dev
	libusrsctp-dev
	libva-glx-dev
	libvdpau-dev
	libwebp-dev
	libx11-dev
	libxkbcommon-dev
	mesa-dev
	meson
	neon-dev
	openal-soft-dev
	openexr-dev
	openjpeg-dev
	openssl-dev>3
	opus-dev
	orc-dev
	pango-dev
	rtmpdump-dev
	sbc-dev
	soundtouch-dev
	spandsp-dev
	tiff-dev
	vo-aacenc-dev
	vo-amrwbenc-dev
	vulkan-headers
	vulkan-loader-dev
	wayland-dev
	wayland-protocols
	x265-dev
	zbar-dev
	"
subpackages="$pkgname-lang $pkgname-dev"
source="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-$pkgver.tar.xz"
ldpath="/usr/lib/gstreamer-1.0"

case "$CARCH" in
s390x)
	;;
*)
	makedepends="$makedepends libldac-dev"
	;;
esac

# secfixes:
#   1.22.8-r0:
#     - ZDI-CAN-22300
#   1.22.7-r0:
#     - CVE-2023-44446
#     - CVE-2023-44429
#   1.22.6-r0:
#     - CVE-2023-40476
#     - CVE-2023-40475
#     - CVE-2023-40474
#   1.22.4-r0:
#     - CVE-2023-37329
#     - CVE-2023-37328

build() {
	CFLAGS="$CFLAGS -O2" \
	CXXFLAGS="$CXXFLAGS -O2" \
	CPPFLAGS="$CPPFLAGS -O2" \
	abuild-meson \
		-Db_lto=true \
		-Dpackage-origin="https://alpinelinux.org" \
		-Dpackage-name="GStreamer bad plug-ins (Alpine Linux)" \
		-Dintrospection=enabled \
		-Dsctp=enabled \
		-Dtests="$(want_check && echo enabled || echo disabled)" \
		. output
	meson compile -C output
}

check() {
	XDG_RUNTIME_DIR="$(mktemp -d)" \
		meson test --no-rebuild -C output --print-errorlogs
}

package() {
	DESTDIR="$pkgdir" meson install --no-rebuild -C output
}

sha512sums="
6c8adfa7d09a25226f097b5ad31fbe176155070ba158bc86e8495dd7ac29c4342bef3671f21c466b43ffae916c5f899a11aecb02d2ffd1a1a90170e8ba9b54f0  gst-plugins-bad-1.22.8.tar.xz
"
